Source File
api_op_ListObjects.go
Belonging Package
github.com/aws/aws-sdk-go-v2/service/s3
// Code generated by smithy-go-codegen DO NOT EDIT.
package s3
import (
awsmiddleware
s3cust
smithyhttp
)
// Returns some or all (up to 1,000) of the objects in a bucket. You can use the
// request parameters as selection criteria to return a subset of the objects in a
// bucket. A 200 OK response can contain valid or invalid XML. Be sure to design
// your application to parse the contents of the response and handle it
// appropriately. This action has been revised. We recommend that you use the newer
// version, ListObjectsV2
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), when
// developing applications. For backward compatibility, Amazon S3 continues to
// support ListObjects. The following operations are related to ListObjects:
//
// *
// ListObjectsV2
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
//
// *
// GetObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
//
// *
// PutObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
//
// *
// CreateBucket
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
//
// *
// ListBuckets
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
func ( *Client) ( context.Context, *ListObjectsInput, ...func(*Options)) (*ListObjectsOutput, error) {
if == nil {
= &ListObjectsInput{}
}
, , := .invokeOperation(, "ListObjects", , , .addOperationListObjectsMiddlewares)
if != nil {
return nil,
}
:= .(*ListObjectsOutput)
.ResultMetadata =
return , nil
}
type ListObjectsInput struct {
// The name of the bucket containing the objects. When using this action with an
// access point, you must direct requests to the access point hostname. The access
// point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts,
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts
// hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using
// this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts bucket ARN in place of the bucket name. For more
// information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide.
//
// This member is required.
Bucket *string
// A delimiter is a character you use to group keys.
Delimiter *string
// Requests Amazon S3 to encode the object keys in the response and specifies the
// encoding method to use. An object key may contain any Unicode character;
// however, XML 1.0 parser cannot parse some characters, such as characters with an
// ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you
// can add this parameter to request that Amazon S3 encode the keys in the
// response.
EncodingType types.EncodingType
// The account ID of the expected bucket owner. If the bucket is owned by a
// different account, the request fails with the HTTP status code 403 Forbidden
// (access denied).
ExpectedBucketOwner *string
// Marker is where you want Amazon S3 to start listing from. Amazon S3 starts
// listing after this specified key. Marker can be any key in the bucket.
Marker *string
// Sets the maximum number of keys returned in the response. By default the action
// returns up to 1,000 key names. The response might contain fewer keys but will
// never contain more.
MaxKeys int32
// Limits the response to keys that begin with the specified prefix.
Prefix *string
// Confirms that the requester knows that she or he will be charged for the list
// objects request. Bucket owners need not specify this parameter in their
// requests.
RequestPayer types.RequestPayer
noSmithyDocumentSerde
}
type ListObjectsOutput struct {
// All of the keys (up to 1,000) rolled up in a common prefix count as a single
// return when calculating the number of returns. A response can contain
// CommonPrefixes only if you specify a delimiter. CommonPrefixes contains all (if
// there are any) keys between Prefix and the next occurrence of the string
// specified by the delimiter. CommonPrefixes lists keys that act like
// subdirectories in the directory specified by Prefix. For example, if the prefix
// is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common
// prefix is notes/summer/. All of the keys that roll up into a common prefix count
// as a single return when calculating the number of returns.
CommonPrefixes []types.CommonPrefix
// Metadata about each object returned.
Contents []types.Object
// Causes keys that contain the same string between the prefix and the first
// occurrence of the delimiter to be rolled up into a single result element in the
// CommonPrefixes collection. These rolled-up keys are not returned elsewhere in
// the response. Each rolled-up result counts as only one return against the
// MaxKeys value.
Delimiter *string
// Encoding type used by Amazon S3 to encode object keys in the response.
EncodingType types.EncodingType
// A flag that indicates whether Amazon S3 returned all of the results that
// satisfied the search criteria.
IsTruncated bool
// Indicates where in the bucket listing begins. Marker is included in the response
// if it was sent with the request.
Marker *string
// The maximum number of keys returned in the response body.
MaxKeys int32
// The bucket name.
Name *string
// When response is truncated (the IsTruncated element value in the response is
// true), you can use the key name in this field as marker in the subsequent
// request to get next set of objects. Amazon S3 lists objects in alphabetical
// order Note: This element is returned only if you have delimiter request
// parameter specified. If response does not include the NextMarker and it is
// truncated, you can use the value of the last Key in the response as the marker
// in the subsequent request to get the next set of object keys.
NextMarker *string
// Keys that begin with the indicated prefix.
Prefix *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func ( *Client) ( *middleware.Stack, Options) ( error) {
= .Serialize.Add(&awsRestxml_serializeOpListObjects{}, middleware.After)
if != nil {
return
}
= .Deserialize.Add(&awsRestxml_deserializeOpListObjects{}, middleware.After)
if != nil {
return
}
if = addSetLoggerMiddleware(, ); != nil {
return
}
if = awsmiddleware.AddClientRequestIDMiddleware(); != nil {
return
}
if = smithyhttp.AddComputeContentLengthMiddleware(); != nil {
return
}
if = addResolveEndpointMiddleware(, ); != nil {
return
}
if = v4.AddComputePayloadSHA256Middleware(); != nil {
return
}
if = addRetryMiddlewares(, ); != nil {
return
}
if = addHTTPSignerV4Middleware(, ); != nil {
return
}
if = awsmiddleware.AddRawResponseToMetadata(); != nil {
return
}
if = awsmiddleware.AddRecordResponseTiming(); != nil {
return
}
if = addClientUserAgent(); != nil {
return
}
if = smithyhttp.AddErrorCloseResponseBodyMiddleware(); != nil {
return
}
if = smithyhttp.AddCloseResponseBodyMiddleware(); != nil {
return
}
if = swapWithCustomHTTPSignerMiddleware(, ); != nil {
return
}
if = addOpListObjectsValidationMiddleware(); != nil {
return
}
if = .Initialize.Add(newServiceMetadataMiddleware_opListObjects(.Region), middleware.Before); != nil {
return
}
if = addMetadataRetrieverMiddleware(); != nil {
return
}
if = addListObjectsUpdateEndpoint(, ); != nil {
return
}
if = addResponseErrorMiddleware(); != nil {
return
}
if = v4.AddContentSHA256HeaderMiddleware(); != nil {
return
}
if = disableAcceptEncodingGzip(); != nil {
return
}
if = addRequestResponseLogging(, ); != nil {
return
}
return nil
}
func ( string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: ,
ServiceID: ServiceID,
SigningName: "s3",
OperationName: "ListObjects",
}
}
// getListObjectsBucketMember returns a pointer to string denoting a provided
// bucket member valueand a boolean indicating if the input has a modeled bucket
// name,
func ( interface{}) (*string, bool) {
:= .(*ListObjectsInput)
if .Bucket == nil {
return nil, false
}
return .Bucket, true
}
func ( *middleware.Stack, Options) error {
return s3cust.UpdateEndpoint(, s3cust.UpdateEndpointOptions{
Accessor: s3cust.UpdateEndpointParameterAccessor{
GetBucketFromInput: getListObjectsBucketMember,
},
UsePathStyle: .UsePathStyle,
UseAccelerate: .UseAccelerate,
SupportsAccelerate: true,
TargetS3ObjectLambda: false,
EndpointResolver: .EndpointResolver,
EndpointResolverOptions: .EndpointOptions,
UseARNRegion: .UseARNRegion,
DisableMultiRegionAccessPoints: .DisableMultiRegionAccessPoints,
})
}
The pages are generated with Golds v0.4.9. (GOOS=linux GOARCH=amd64)